let uname:string = '小明'

let age:number = 19

let isOk:boolean = true

// null 和 undefined 可以分配给其他数据类型
let unde:undefined = undefined
let nul:null = null
// 可以进行赋值分配
isOk = undefined
isOk = null
// 也可以进行默认分配
let text:string = null

let arr:number[] = [1,2]

let arr2:Array<number> = []

let arr3:[string, number, boolean] = ['孙悟空', 999999, true]

arr3 = null

console.log(arr3)


// 枚举类型 类似伪数组
enum Person{
  张三,
  李四 = 4,
  王五
}

console.log(Person[0])


// any

let str2:any = 1000
// 数组长度和数据类型不限制
let arr4:any[] = []

let obj:object = {}

let obj2:{name: string} = {
  name: '张三'
}


let str3:string = '床前明月光'

// 联合类型

// let num = 19
// num = '19'

// 类型断言

function fn(val:string | number): void {
  (<string>val).length
}

fn(1)

